# 1.程序启动：添加（姓名、电话），查找，显示所有，删除
# 2.输入电话姓名，列表储存字典，appen
# 3.输入查找的姓名，for循环遍历找出if
# 4.for循环打印出列表:1.姓名：号码
# 5.先输入删除的键，然后找出对应列表的索引位置删除

contacts = []

def add_contact():
    
    while True:
        contact = input('请输入你需要添加的联系人（按"q"退出）：') 
        if contact.lower() == 'q':
            print('添加联系人结束！')
            break
        else:
            try:
                number = int(input('请输入该联系人的电话号码：'))
                contacts.append({'name': contact, 'numbers': number})
                print(f'添加{contact}成功，他/她的电话号码是{number}')
                
            except ValueError:
                print('请输入正确的数字号码！')
               
def check_contact():
    
    while True:
        check_name = input('请输入你需要查找的联系人姓名(按"q"退出)：')
        if check_name.lower() == "q":
            print('查找结束！')
            break
        else:
            for contact in contacts:
                if check_name == contact["name"]:
                    print(f'{check_name}的联系号码是{contact["numbers"]}')
                    return
            print(f'{check_name}不存在，请先添加该联系人。')
            break
                    
           
            
def show_contact():
    #1.姓名：号码
    if contacts:
        print('通讯录的所有联系人号码如下：')
        for index, contact in enumerate(contacts, 1):
            print(f'{index}.{contact["name"]}: {contact["numbers"]}')
    else:
        print('通讯录不存在，请先输入联系人！')
        
def delet_contact():
    global contacts

    while True:
            delet_name = input('请输入你需要删除的联系人姓名(按"q"退出)：') 
            if delet_name.lower() == "q":
                print('删除联系人结束。')
                break
            else:
                for contact in contacts:
                    if delet_name == contact['name']:
                        contacts.remove(contact)
                        print(f'{contact["name"]}已经删除！')
                    else:
                        print("该联系人不存在，请先添加联系人")
                      
    
def main():

    while True:
        print('\n————欢迎使用小徐美女的简易通讯录功能————')            
        print('1.添加联系人的姓名和电话号码')
        print('2.查找联系人的姓名和电话号码')
        print('3.显示所有联系人的姓名和电话号码')   
        print('4.删除联系人的姓名和电话号码')    
        print('5.退出')   
            
        try:
            choice = int(input('请输入你需要选择的操作（1-4）：'))
            
            if choice ==1:
                add_contact()
            if choice == 2:
                check_contact()
            if choice == 3:
                show_contact()
            if choice == 4:
                delet_contact()
            if choice == 5:
                print("感谢你的使用，再见！")
                break
            else:
                print('输入有误，请重新输入')
        except ValueError:
            print('输入有误，请重新输入')     
            
if __name__ == '__main__':
    main()